Smart card systems and methods utilizing multiple atr messages

ABSTRACT

A system and method for facilitating communication between a smart card and a terminal, the method comprising receiving a first ATR message at a first time that is within a first predetermined clock cycles after a reset; waiting for a second ATR message indicative of a successful biometric authentication from the smart card; receiving the second ATR message at a second time that is within a second predetermined clock cycles after the first time; and exchanging transaction-related messages with the smart card.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent application Ser. No. 14/616,069, filed Feb. 6, 2015, entitled “Smart Card Systems and Methods Utilizing Multiple ATR Messages”; which is related to U.S. patent application Ser. No. 14/596,508, filed Jan. 14, 2015, entitled “System and Method for Requesting Reconciliation of Electronic Transaction Records for Enhanced Security”; U.S. patent application Ser. No. 14/596,472, filed Jan. 14, 2015, entitled “System and Method for Comparing Electronic Transaction Records for Enhanced Security”; U.S. patent application Ser. No. 14/596,420, filed Jan. 14, 2015, entitled “System and Method for Reconciling Electronic Transaction Records for Enhanced Security”; U.S. patent application Ser. No. 14/596,572, filed Jan. 14, 2015, now U.S. Pat. No. 9,607,189, entitled “Smart Card Systems Comprising a Card and a Carrier”; U.S. patent application Ser. No. 14/603,703, filed Jan. 23, 2015, now U.S. Pat. No. 10,037,528, entitled “Biometric Device Utilizing Finger Sequence for Authentication,” the disclosures of which are incorporated herein by reference.

FIELD OF THE INVENTION

The present disclosure relates generally to smart cards, and more particularly, smart card systems and methods utilizing multiple Answer to Reset (ATR) messages.

BACKGROUND

Electronic transactions, such as credit card transactions, can be conducted using smart cards. A smart card is a device that includes an embedded integrated circuit chip that can be either a secure processing module (e.g., microprocessor, microcontroller or equivalent intelligence) with an internal or external memory or a memory chip alone. The smart card can be connected to a reader via direct physical contact or via a contactless (e.g., RF) interface. Smart cards come in many different form factors, including plastic cards, fobs, SIM cards used in mobile phones, and USB tokens. Smart cards can provide identification, authentication, data storage, and application processing, as well as serving as credit or ATM debit cards, phone or fuel cards, and high-security access-control cards for granting access to a building or computer.

Some smart cards and the corresponding reader terminals conform to international standards such as ISO 7816 and ISO 14443 that specify physical characteristics and various communication and security protocols. In the ISO 7816 standard, for example, communication between a reader (master) and a smart card (slave) takes place over a single bi-directional, half-duplex data line. Parameters such as protocol format, type of smart card, baud rate and other electrical parameters are read out of the smart card right after reset. This is known as the Answer to Reset, or ATR. Based on the information given in the ATR, the reader can adapt to the transmission format supported by the card. Similar messages are utilized in the early communication between ISO 14443 compliant terminals and smart cards.

When a smart card is inserted into the reader, all the contacts are disconnected from the reader, including ground. The reason for this is that the contacts in the terminal slide over the smart card contacts while the card is inserted. Applying power to the wrong pins could in theory damage the card or the reader. When the card is properly inserted, there is usually an electrical contact that breaks connection, indicating to the reader that the card is fully inserted. Once inserted, the reader initiates a power on and reset sequence. The interface is responsible for the timing of the sequence. A conventional ISO smart card startup process is illustrated in the timing diagram of FIG. 8. The most important parameters are the clock cycle count before and after reset is released. The interface enables the clock and keeps it running for a predetermined number of clock cycles (typically 40,000) before reset is released. After reset, the smart card must respond with its ATR message within a window of a predetermined number of clock cycles, (typically 40000). If an ATR is not received from the smart card within the window, all the contacts are disconnected from the reader, thereby effectively disconnecting the smart card from the terminal/reader.

The conventional startup and transaction process utilizing a single ATR message illustrated in FIG. 8 presents a problem when the smart card is a biometric smart card. This is because it is not possible to perform a biometric authentication procedure including, for example, reading of a user's fingerprint, preparation of a fingerprint template, and comparison of the prepared fingerprint template to a stored reference fingerprint template of an authorized user, within the allowed window of predetermined clock cycles. Therefore, conventional startup and transmission schemes utilizing a single ATR message do not permit a biometric authentication in ISO-compliant smart cards.

BRIEF SUMMARY OF THE INVENTION

According to various embodiments of the disclosed technology, a method of facilitating communication between a smart card and a terminal is provided, comprising receiving a first ATR message at a first time that is within a first predetermined clock cycles after a reset; waiting for a second ATR message indicative of a successful biometric authentication from the smart card; receiving a second ATR message at a second time that is within a second predetermined clock cycles after the first time; and exchanging transaction-related messages with the smart card.

According to various embodiments of the disclosed technology, a method of facilitating communication between a smart card and a terminal is provided, comprising sending a first answer-to-reset (ATR) message at a first time that is within a first predetermined clock cycles after a reset; performing a biometric authentication of a user requesting a transaction involving the smart card; determining that the biometric authentication was successful; sending a second ATR message to the terminal at a second time that is within a second predetermined clock cycles after the first time; and exchanging transaction-related message with the terminal.

According to various embodiments of the disclosed technology, a terminal for communicating with a smart card is provided, comprising an interface configured to be coupled to a smart card; a processor coupled to the interface and configured to: wait for a first answer-to-reset (ATR) message from the smart card after a reset; receive the first ATR message via the interface at a first time that is within a first predetermined clock cycles after the reset; wait for a second ATR message indicative of a successful biometric authentication from the smart card; receive the second ATR message via the interface at a second time that is within a second predetermined clock cycles after the first time; and exchange transaction-related messages with the smart card via the interface.

According to various embodiments of the disclosed technology, a smart card is provided, comprising an interface configured to be coupled to a terminal; a biometric module coupled to the processor and configured to obtain a biometric signature of a user requesting a transaction; and a processor coupled to the interface and the biometric module and configured to: send a first answer-to-reset (ATR) message to the terminal via the interface at a first time that is within a first predetermined clock cycles after a reset; send a second ATR message indicative of a successful biometric authentication to the terminal via the interface at a second time that is within a second predetermined clock cycles after the first time; and exchange transaction-related messages with the terminal via the interface.

Other features and aspects of the disclosed technology will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, which illustrate, by way of example, the features in accordance with embodiments of the disclosed technology. The summary is not intended to limit the scope of any inventions described herein, which are defined solely by the claims attached hereto.

BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS

The technology disclosed herein, in accordance with one or more various embodiments, is described in detail with reference to the following figures. The drawings are provided for purposes of illustration only and merely depict typical or example embodiments of the disclosed technology. These drawings are provided to facilitate the reader's understanding of the disclosed technology and shall not be considered limiting of the breadth, scope, or applicability thereof. It should be noted that for clarity and ease of illustration these drawings are not necessarily made to scale.

FIG. 1 is an example environment within which various embodiments of the technology disclosed herein may be implemented.

FIG. 2 is an example diagram of a personal transaction device that may be used in accordance with various embodiments of the technology disclosed herein.

FIG. 3 is an example diagram of a transaction using a personal transaction device in accordance with the technology disclosed herein.

FIG. 4 is signal timing diagram illustrating an example startup and transaction process in accordance with the technology disclosed herein.

FIG. 5 is a flowchart illustrating an example startup and transaction process from the perspective of an example terminal in accordance with the present disclosure.

FIG. 6 is a flowchart illustrating an example startup and transaction process from the perspective of an example smart card in accordance with the present disclosure.

FIG. 7 is an example diagram of a computing module that may be used in implementing various features of embodiments of the technology disclosed herein.

FIG. 8 is a signal timing diagram of a prior art single ATR process.

The figures are not intended to be exhaustive or to limit the invention to the precise form disclosed. It should be understood that the invention can be practiced with modification and alteration, and that the disclosed technology be limited only by the claims and the equivalents thereof.

DETAILED DESCRIPTION

Embodiments of the technology disclosed herein are directed toward a system for and method of facilitating communication between a biometric smart card and a terminal (e.g., a smart card reader). More particularly, the various embodiments of the technology disclosed herein relate to smart card systems and methods utilizing multiple ATR messages.

In the following detailed description, numerous specific details are set forth to provide a full understanding of various aspects of the subject disclosure. It will be apparent, however, to one ordinarily skilled in the art that various aspects of the subject disclosure may be practiced without some of these specific details. In other instances, well-known structures and techniques have not been shown in detail to avoid unnecessarily obscuring the subject disclosure.

Before describing the technology disclosed in detail, it is useful to describe an example environment within which the technology can be implemented. FIG. 1 is a block diagram of an example electronic transaction system 100 that can implement a multiple ATR protocol according to certain aspects of the present disclosure. The system 100 includes an electronic portable transaction device (PTD) 110, a transaction processing system (TPS) 130, and an interface device 120 that facilitates communications between the PTD 110 and the TPS 130. The PTD 110 can be, for example, a smart card, a smart key, a smart fob, or a mobile device. In some embodiments, the PTD 110 can include a biometric authentication module (not shown) for biometric authentication, as discussed in more detail with regards to FIG. 2.

The PTD 110 can conduct various types of electronic transactions with the TPS 130 via the interface device 120. For financial transaction applications, the PTD 110 can be a smart payment card such as a smart credit, debit, and/or prepaid card, or a smartphone with a payment transaction application. The TPS 130 can be a payment processing system of a merchant (e.g., Target®), a bank (e.g., Bank of America®), or a card issuer (e.g., Visa®). The interface device 120 can be a point of sale (POS) terminal that can communicate with the PTD 110 using a contact method (e.g., matching male and female contact pads) or a contactless method (e.g., RFID, Bluetooth, NFC, Wi-Fi, ZigBee).

In some embodiments, the PTD 110 may communicate directly with the TPS 130 without an interface such as the interface device 120. For example, the PTD 110 can be equipped with a transceiver that can communicate with a cellular network such as a 3G UMTS or 4G LTE network. In some embodiments, the PTD 110 can be a smart phone capable of communicating with a cellular network.

For access control applications, the PTD 110 can be a smart access card, smart fob, or smart key for providing access to a facility or computer. For example, a PTD 110 in accordance with the present disclosure may be required to gain access to one or more of a secured facility, specific areas within a facility, a particular computing device or piece of equipment, a computer network, or a combination thereof. The TPS 130 can be a server in a central computer system, or a dedicated access controller that controls access to a facility or computer. Interface device 120 can be a card, fob, or key reader that can communicate with the PTD 110 using a contact method (e.g., contact pads) or a contactless method (e.g., RFID, Bluetooth, NFC, Wi-Fi, ZigBee).

In various embodiments, interface 120 may communicate with TPS 130 over network 140. Network 140 may be any communications network, such as a cellular or data network, a satellite network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a personal area network (PAN), a portion of the Internet, a portion of the Public Switched Telephone Network (PSTN), or any combination thereof. Accordingly, network 140 may employ various communication media, such as a coaxial cable, fiber optic cable system, Ethernet, radio waves, etc.

In the illustrated example of FIG. 1, the PTD 110 includes a processing module 112 and a data storage device 114; the interface device 120 includes a processing module 122 and a data storage device 124; and the TPS 130 includes a processing module 132 and a data storage device 134. In some embodiments, the PTD 110 can include a biometric authentication module (not shown) that includes a biometric sensor and a controller. The processing modules 112, 122, and 132, depending on the application, may be a microprocessor, microcontroller, application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), computer, server, or any combination of components or devices configured to perform and/or control the functions of the PTD 110, interface device 120, and TPS 130, respectively. The data storage devices 114, 124, and 134, depending on the application, may be a read-only memory (ROM), such as EPROM or EEPROM, flash, a hard disk, a database, or any other storage component capable of storing executory programs and information for use by the processing modules 112, 122, and 132, respectively. Although PTD 110, interface device 120, and TPS 130 are all shown including a processing module (112, 122, 132) and a data storage device (114, 124, 134), such components are not required in all embodiments. In various embodiments, only one data storage device or only one processing module may be present that is accessible by one or more of the PTD, the interface device, and the TPS.

There are many examples of biometric devices with which the present disclosure can be implemented. One example is the biometric smart card illustrated in FIG. 2. In various embodiments, smart card 200 has substantially the same shape and form factor as conventional credit and debit cards. Smart card 200 comprises a processing module 212 and a memory 214. Processing module 212 may be a microprocessor, microcontroller, application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or any combination of components configured to perform and/or control the functions of smart card 200. Memory 214 may be a read-only memory (ROM) such as EPROM or EEPROM, flash, or any other storage component capable of storing executory programs and information for use by the processing module 212. Memory 214 can be internal to processor 212.

Smart card 200 includes a transaction interface 216. Transaction interface 216 is communicatively coupled to processing module 212. In various embodiments, transaction interface 216 is configured to communicate with TPS 130 through interface device 120 described above with respect to FIG. 1. Interface device 120 may be any point-of-sale (POS) or other transaction terminal connected to TPS 130 and configured to enable transactions with smart card 200 to occur. In various embodiments, transaction interface 216 may include one or more conductive pads or pins that make electrical contact with corresponding conductive pads or pins provided in interface device 120. Data communication between smart card 200 and interface device 120 occurs through transaction interface 216. In various embodiments, when smart card 200 is engaged with interface device 120 for a transaction, some of the conductive pads of transaction interface 216 provide paths by which electrical power flows from interface device 120 to the components of smart card 200 via power line 218. This eliminates the need for smart card 200 to have its own on-board power source, simplifying design and manufacture.

In other embodiments, smart card 200 may include additional components to allow direct communication with TPS 130 without the need of interface device 120. Smart card 200 may include components required to allow RFID, Bluetooth, NFC, Wi-Fi, or ZigBee communication with TPS 130.

As shown in FIG. 2, smart card 200 further includes a biometric authentication module 220. In various embodiments, biometric authentication module 220 includes an authentication memory 224, a controller module 226, and a biometric sensor 222. Authentication memory 224 may be configured to store a template of a biometric signature of an authorized (e.g., registered) user for authentication purposes. A biometric signature is a human characteristic unique to an individual, such as a fingerprint, voice, iris, or other physiological characteristic of the authorized user. The authentication process is described in more detail below. Authentication memory 224 may be a read-only memory (ROM) such as EPROM or EEPROM, flash, or any other storage component capable of storing biometric data of one or more authorized users at the time smart card 200 is issued. In various embodiments, authentication memory 224 may be capable of both read and write commands to allow for the addition of other later authorized users through a reenrollment process after issuance of the card. In various embodiments, authentication memory 224 and memory 214 may be the same component.

Controller 226 is a processing module configured to execute authentication application programming stored in memory 224. For ease of discussion, the controller 226 and the rest of the disclosure will describe the technology in regards to biometric authentication utilizing fingerprint images. Although described as such, the technology disclosed herein is applicable for any biometric authentication process, including authentication based on a user's iris scan, voice recognition, DNA sampling, or other biometric signature. The description should not be interpreted to limit the scope of the technology disclosed to any particular biometric authentication process.

In various embodiments, controller 226 may accept a fingerprint image input from scanner 222 and perform additional processing (e.g., extracting, focusing, aligning, rotating, scaling, normalizing, filtering and/or formatting) operations on the image to generate a fingerprint template that can be compared to a stored fingerprint template associated with an authorized (e.g., registered) user. In other embodiments, controller 226 can receive an already processed fingerprint template from scanner 222. Controller 226 is coupled to processing module 212 through connection 228. In various embodiments, controller 226 may be a separate hardware processing module from processing module 212. In various embodiments, controller 226 may be implemented in software, such as a virtual machine (VM) executed using processing module 212. In such an embodiment, additional security features may be implemented within processing module 212, such as partitioning between the VM and the card operating system to ensure that no unauthorized access to the controller module occurs. In various embodiments, the authentication application programming executed by controller 226 may be stored in memory 214 and accessible by controller 226 through processing module 212. In various embodiments, controller 226 may have direct access to memory 214.

Biometric sensor 222 is a biometric reader or scanner capable of reading or scanning a user's fingerprints. As discussed above, the biometric input from scanner 222 can be sent directly to controller 226 in order to allow controller 226 to perform formatting operations to generate a fingerprint template. In various embodiments, scanner 222 may be capable of formatting the fingerprint image prior to sending the fingerprint image to controller 226. As discussed above, the biometric authentication process may utilize any biometric signature unique to the user. Accordingly, in embodiments utilizing a different biometric signature for authentication, the biometric sensor 222 may be a sensor other than a fingerprint scanner, such as an iris scanner, a microphone, a blood collector, scent sensor, or other biometric-recording module.

Other biometric devices with which the present disclosure may be implemented include smart fobs, smart keys, and mobile devices, among others. For ease of discussion, the authentication process and embodiments thereof are discussed with regards to the biometric-enabled smart card shown in FIG. 2. This discussion should not be read to limit the embodiments to only transactions involving smart cards, as the present disclosure is compatible with any biometric device.

To biometrically authenticate the identity of a person requesting a new transaction involving the biometric smart card 200 utilizing fingerprint authentication, a processor in the smart card 200 can perform a comparison and a matching of one or more fingerprint templates associated with the person (the templates generated from fingerprint images received from biometric sensor 222) to one or more fingerprint templates associated with a registered user stored in a memory (e.g., memory 224 or memory 214). In some embodiments, the controller 226 performs both the generation of fingerprint templates associated with the person and the comparison and matching of the fingerprint templates to the stored fingerprint templates associated with the registered user. In other embodiments, the controller 226 performs the generation of fingerprint templates associated with the person and the processing module 212 performs the comparison and matching of the fingerprint templates to the stored fingerprint templates associated with the registered user.

In various embodiments, smart card 200 may have only a single component for processing both the transaction and authentication functions of smart card 200. In various embodiments, this single processing component may be processing module 212, and processing module 212 may be configured to execute both transaction applications and the functions of controller 226 described above. This eliminates the need for multiple processing units on the card and lowers the complexity of the design. In those embodiments employing a single processing component, the single processing component performs the generation of fingerprint templates associated with a person requesting a new transaction and the comparison and matching of the fingerprint templates to stored fingerprint templates associated with a registered user.

FIG. 3 illustrates an example transaction system 300 implementing smart card 200. In the illustrated example, the system 300 includes interface device 120 and TPS 130, described above with regards to FIG. 1. Also illustrated is smart card 200, which corresponds with the PTD 110 of FIG. 1. Although described in terms of smart card 200, the description should not be read to limit the present disclosure. In other embodiments, other PTDs may be used, such as a mobile device, a smart key, a smart fob, or a combination thereof. As illustrated in FIG. 3, interface device 120 includes a PTD interface 126, a processing module 122, and a data storage device 124. TPS 130 includes a processing module 132, and a data storage device 134, and a network interface 136 for communicating with interface device 120 via a communication network 140.

PTD interface 126 and transaction interface 216 on smart card 200 provide a communication link between smart card 200 and interface device 120. Using this communication link, smart card 200 can communicate authentication- and/or transaction-related data with interface device 120 and/or TPS 130. In various embodiments, interface device 120 may be a terminal and PTD interface 126 may be a physical card reader or scanner. In such embodiments, card 200 interacts with interface device 120 by inserting smart card 200 into the card reader, or scanning transaction interface 216 of smart card 200 with the card scanner of interface device 120. In other embodiments, smart card 200 may include components necessary to enable contactless transactions, such as transceivers required for RFID, Bluetooth, NFC, or ZigBee communication. In various embodiments, interface device 120 supplies power to smart card 200 through this physical connection. In other embodiments, card 200 may include on on-board power source to supply power to the card components. In still other embodiments, smart card 200 may include wires or coils configured to receive power through induction principles, such as induction through NFC. For ease of discussion, smart card 200 was used in descripting transaction system 300. This use, however, should not be read to limit the scope of the present disclosure. Transaction system 300 may be implemented in the same fashion using any PTD 110.

FIG. 4 is a signal timing diagram illustrating an example startup and transaction process between a biometric smart card and a terminal in accordance with the present disclosure. Although discussed in regards to the transaction environment illustrated in FIG. 3, implementation of the process of the present disclosure should not be limited to the transaction environment of FIG. 3. As one of ordinary skill in the art would recognize, the startup and transaction process is applicable in any transaction environment in which a smart card system employing an ATR process is implemented as a security layer. For ease of discussion, the timing diagram of FIG. 4 is described in relation to a transaction occurring between a biometric smart card and a terminal. Where appropriate, different embodiments may be discussed.

At t=T1, a biometric smart card 200 is inserted into a terminal 120 through a connection made between the interface 126 at the terminal 120 and the interface 216 at the smart card 200. In various embodiments, the interfaces 126 and 216 comprise a pair of matching (e.g., male and female) contact pads. The contact pads can include a pair of matching Input or Output (I/O) pads for exchanging (i.e., transmitting and receiving) various messages between the interface and the smart card. In some embodiments, the messages are exchanged through an I/O pad in a serial fashion during either a transmission mode or a reception mode. The contact pads can also include a pair of matching pads for transmitting a reset (RST) signal from the terminal 120 to the smart card 200. The contact pads can also include a pair of matching pads for providing power from the terminal 120 to the smart card 200.

At t=T2, power is provided to the smart card 200 by applying a voltage Vcc to the power pads. In the illustrated example, the I/O pads are also made ready by having them pulled high. At t=T3, a clock (CLK) is started. Subsequent timing windows, including the arrivals of ATR messages, are measured in terms of clock cycles associated with the clock. At t=T4, a reset (RST) signal is indicated within an initial number of clock cycles (NO) after the clock is started at T3. In the illustrated embodiment, the RST signal is indicated by having the RST signal transition from low to high. In certain embodiments, the RST signal is provided from the terminal 120 to the smart card 200 via a reset pad. In other embodiments, the RST signal is internally generated at the smart card 200.

At t=T5, a first answer-to-reset (ATR) message is transmitted from the smart card 200 to the terminal 120 via the I/O pads within a first predetermined number (N1) of cycles after the reset is indicated at T4. In various embodiments, the first ATR message can include one or more data items (indicated as ATR data #1) indicative of protocol format, type of smart card, and/or baud rate. For contactless transactions, the smart card 200 may transmit an answer-to-select (ATS) or other message indicative of a request by a contactless smart card to conduct a transaction. The compliant terminal would then construct the ATR message based on the ATS or other message transmitted by the contactless smart card 200.

After transmission of the first ATR message at t=T4, a user requesting the transaction involving the smart card 200 is asked to input a biometric signature by, for example, presenting a finger or an iris on a biometric scanner. The biometric scanner can be part of the smart card 200 or the terminal 120. At t=T6, a biometric authentication determination based on the biometric signature of the user received from the biometric scanner. In various embodiments, the determination can involve comparing a biometric template generated from a biometric signature received from a biometric reader/scanner with a reference biometric template associated with an authorized user stored in a memory.

At t=T7, a second ATR message is transmitted from the smart card 200 to the terminal 120 via the I/O pads within a second predetermined number of clock cycles (N2) after T5. In some embodiments, the second ATR message can include data items (indicated as ATR data #2) indicating whether the biometric authentication of the user was successful. In other embodiments, the reception of the second ATR itself indicates that the biometric authentication was successful. In other words, if the biometric authentication was not successful, the smart card does not send a second ATR message to the terminal. Either way, if the biometric authentication was successful, the smart card 200 and the terminal 120 exchange transaction-related messages via the I/O pads within a third predetermined number of allowed clock cycles (N4) after T7. At t=T8, the communication link between the smart card 200 and the terminal 120 is disconnected. In the illustrated example, power (Vcc) applied to the power pad is disabled, the clock is stopped, and the RST and I/O signals become low.

FIGS. 4 and 8, although showing different time periods, are not drawn to scale. For example, although ATR Data #2 and Transaction Data are shown as being similar in size, in reality Transaction Data may be much longer than ATR Data #2. FIGS. 4 and 8 merely describe the general transmission process and are not intended to describe the actual message or period lengths.

FIG. 5 is a flowchart illustrating an example startup and transaction process 500 between a biometric smart card and a terminal from the perspective of the terminal in accordance with the present disclosure. For ease of illustration only without any intent to limit the present disclosure in any way, the process 500 will be described with reference to the biometric smart card 200 and the terminal 120 of FIG. 3 and the signal timing diagram of FIG. 4. The process 500 starts at state 501 when the smart card 200 has been inserted into the terminal 120, and the terminal has already provided power to the smart card 200 through an electrical connection made via, for example, a pair of matching contact pads. The process 500 proceeds to operation 502 where the terminal 120 sends a reset (RST) signal to the smart card 200 through one of the contact pads (e.g., T4 of FIG. 4). The process 500 proceeds to operation 504 where the terminal 120 waits for a first ATR message from the smart card 200 and then to query state 506 where it is determined whether a first ATR message is received within a first predetermined number (Nx) of clock cycles (e.g., N1 of FIG. 4) after the reset. If a first ATR message is not received within Nx clock cycles after the reset, the process 500 proceeds to operation 507, where the communication link between the terminal 120 and the smart card 200 is disconnected by, for example, disabling power to the smart card and/or stopping communication with the smart card. The process 500 ends at state 521.

On the other hand, if, at the query state 506, it is determined that a first ATR message is received (e.g., via an I/O pad) at a first time (e.g., T5 of FIG. 4) that is within Nx clock cycles (e.g., N1 of FIG. 4) after the reset, the process 500 proceeds to operation 508 where the terminal 120 waits for a second ATR message indicative of a successful biometric authentication of the user from the smart card 200 and to query state 510 where it is determined whether a second ATR message is received within a second predetermined number (Ny) of clock cycles (e.g., N2 of FIG. 4) after the first time (when the first ATR message was received). If a second ATR message is not received within Ny clock cycles after the first time, the process 500 proceeds to operation 507 where the communication link between the terminal 120 and the smart card 200 is disconnected by, for example, disabling power to the smart card and/or stopping communication with the smart card, and the process 500 ends at state 521.

On the other hand, if, at the query state 510, a second ATR message indicative of a successful biometric authentication of the user is received at a second time that is within Nx clock cycles after the first time, the process 500 proceeds to operation 512 where the terminal 120 exchanges transaction-related messages with the smart card 200 during a third predetermined number of cycles (e.g., N3 of FIG. 4) after the second time. In some embodiments, the reception of the second ATR message itself indicates that the biometric authentication of the user was successful. In other embodiments, the second ATR message includes one or more data items (e.g., Data Item #2 of FIG. 4) that indicate whether the biometric authentication of the user was successful at the smart card 200. In such an embodiment, if the data items indicate that the biometric authentication was unsuccessful (e.g., no match), the process 500 proceeds to operation 507 where the communication link between the terminal and the smart card is disconnected and the process 500 ends at state 521.

FIG. 6 is a flow chart illustrating an example startup and transaction process 600 between a biometric smart card and a terminal from the perspective of the smart card in accordance with the present disclosure. For ease of illustration only without any intent to limit the present disclosure in any way, the process 600 will be described with reference to the biometric smart card 200 and the terminal 120 of FIG. 3 and the signal timing diagram of FIG. 4. The process 600 starts at state 601 when the smart card 200 has already been inserted into the terminal 120, and the terminal has already provided power to the smart card 200 through an electrical connection made via, for example, a pair of matching contact pads as described above with respect to state 501 of FIG. 5. The process 600 proceeds to operation 602 where the smart card 200 receives a reset (RST) signal from the terminal 120 (e.g., at t=T4 of FIG. 4). In some embodiments, the RST signal is internally generated at the smart card 200 instead of being received from the terminal 120.

The process 600 proceeds to operation 604 where the smart card 200 sends a first ATR message to the terminal 120 (e.g., via an I/O pad) at a first time (e.g., T5 of FIG. 4) within a first predetermined number (Nx) of clock cycles (e.g., N1 of FIG. 4) after the reset. The process 600 proceeds to operation 606 where the smart card 200 performs a biometric authentication of the user requesting the transaction and to query state 608, where it is determined whether the biometric authentication of the user was successful. If the biometric authentication of the user was successful, the process 600 proceeds to operation 610, where the smart card 200 sends a second ATR message indicative of the successful biometric authentication to the terminal 120 (e.g., via the I/O pad) at a second time (e.g., T7 of FIG. 4) within a second predetermined number (Ny) clock cycles (e.g., N2 of FIG. 4) from the first time. The process proceeds to operation 612, where the smart card 200 exchanges transaction-related messages with the terminal 120 (e.g., via the I/O pad) during a third predetermined number of cycles (e.g., N3 of FIG. 4) after the second time. In some embodiments, the smart card 200 sends the second ATR message even if the biometric authentication was unsuccessful. In such an embodiment, the second ATR message can include one or more data items indicating whether the biometric authentication was successful.

Those skilled in the art shall understand that a smart card system utilizing two ATR messages in accordance with the present disclosure can perform a biometric authentication of a user without having the system timed out and the communication link between the terminal and the smart card disconnected. In this regard, the value of N2 clock cycles and the corresponding allowed time between the two ATR messages should be set sufficiently high to permit the biometric authentication. In various embodiments, the allowed time can be set to a value between 5 seconds to 30 seconds, depending on the type of biometric authentication employed. In some embodiments, more than two ATR messages may be utilized. A smart card system may employ multiple biometric authentications such as, for example, a fingerprint-based authentication and a voice-based authentication. In such a system, three ATR messages may be provided such that the second ATR message is sent after a successful fingerprint-based biometric authentication and the third ART message is sent after a successful voice-based biometric authentication.

As used herein, the term set may refer to any collection of elements, whether finite or infinite. The term subset may refer to any collection of elements, wherein the elements are taken from a parent set; a subset may be the entire parent set. The term proper subset refers to a subset containing fewer elements than the parent set. The term sequence may refer to an ordered set or subset. The terms less than, less than or equal to, greater than, and greater than or equal to, may be used herein to describe the relations between various objects or members of ordered sets or sequences; these terms will be understood to refer to any appropriate ordering relation applicable to the objects being ordered.

As used herein, the term module might describe a given unit of functionality that can be performed in accordance with one or more embodiments of the technology disclosed herein. As used herein, a module might be implemented utilizing any form of hardware, software, or a combination thereof. For example, one or more processors, controllers, ASICs, PLAs, PALs, CPLDs, FPGAs, logical components, software routines or other mechanisms might be implemented to make up a module. In implementation, the various modules described herein might be implemented as discrete modules or the functions and features described can be shared in part or in total among one or more modules. In other words, as would be apparent to one of ordinary skill in the art after reading this description, the various features and functionality described herein may be implemented in any given application and can be implemented in one or more separate or shared modules in various combinations and permutations. Even though various features or elements of functionality may be individually described or claimed as separate modules, one of ordinary skill in the art will understand that these features and functionality can be shared among one or more common software and hardware elements, and such description shall not require or imply that separate hardware or software components are used to implement such features or functionality.

Where components or modules of the technology are implemented in whole or in part using software, in one embodiment, these software elements can be implemented to operate with a computing or processing module capable of carrying out the functionality described with respect thereto. One such example computing module is shown in FIG. 7. Various embodiments are described in terms of this example-computing module 700. After reading this description, it will become apparent to a person skilled in the relevant art how to implement the technology using other computing modules or architectures.

Referring now to FIG. 7, computing module 700 may represent, for example, computing or processing capabilities found within desktop, laptop and notebook computers; hand-held computing devices (PDA's, smart phones, cell phones, palmtops, etc.); mainframes, supercomputers, workstations or servers; or any other type of special-purpose or general-purpose computing devices as may be desirable or appropriate for a given application or environment. Computing module 700 might also represent computing capabilities embedded within or otherwise available to a given device. For example, a computing module might be found in other electronic devices such as, for example, digital cameras, navigation systems, cellular telephones, portable computing devices, modems, routers, WAPs, terminals and other electronic devices that might include some form of processing capability.

Computing module 700 might include, for example, one or more processors, controllers, control modules, or other processing devices, such as a processor 704. Processor 704 might be implemented using a general-purpose or special-purpose processing engine such as, for example, a microprocessor, controller, or other control logic. In the illustrated example, processor 704 is connected to a bus 702, although any communication medium can be used to facilitate interaction with other components of computing module 700 or to communicate externally.

Computing module 700 might also include one or more memory modules, simply referred to herein as main memory 706. For example, preferably random access memory (RAM) or other dynamic memory, might be used for storing information and instructions to be executed by processor 704. Main memory 706 might also be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 704. Computing module 700 might likewise include a read only memory (“ROM”) or other static storage device coupled to bus 702 for storing static information and instructions for processor 704.

The computing module 700 might also include one or more various forms of information storage mechanism 708, which might include, for example, a media drive 710 and a storage unit interface 714. The media drive 710 might include a drive or other mechanism to support fixed or removable storage media 712. For example, a hard disk drive, a floppy disk drive, a magnetic tape drive, an optical disk drive, a CD or DVD drive (R or RW), or other removable or fixed media drive might be provided. Accordingly, storage media 712 might include, for example, a hard disk, a floppy disk, magnetic tape, cartridge, optical disk, a CD or DVD, or other fixed or removable medium that is read by, written to or accessed by media drive 710. As these examples illustrate, the storage media 712 can include a computer usable storage medium having stored therein computer software or data.

In alternative embodiments, information storage mechanism 708 might include other similar instrumentalities for allowing computer programs or other instructions or data to be loaded into computing module 700. Such instrumentalities might include, for example, a fixed or removable storage unit 716 and an interface 714. Examples of such storage units 716 and interfaces 714 can include a program cartridge and cartridge interface, a removable memory (for example, a flash memory or other removable memory module) and memory slot, a PCMCIA slot and card, and other fixed or removable storage units 716 and interfaces 714 that allow software and data to be transferred from the storage unit 716 to computing module 700.

Computing module 700 might also include a communications interface 720. Communications interface 720 might be used to allow software and data to be transferred between computing module 700 and external devices. Examples of communications interface 720 might include a modem or softmodem, a network interface (such as an Ethernet, network interface card, WiMedia, IEEE 802.XX or other interface), a communications port (such as for example, a USB port, IR port, RS232 port Bluetooth® interface, or other port), or other communications interface. Software and data transferred via communications interface 720 might typically be carried on signals, which can be electronic, electromagnetic (which includes optical) or other signals capable of being exchanged by a given communications interface 720. These signals might be provided to communications interface 720 via a channel 722. This channel 722 might carry signals and might be implemented using a wired or wireless communication medium. Some examples of a channel might include a phone line, a cellular link, an RF link, an optical link, a network interface, a local or wide area network, and other wired or wireless communications channels.

In this document, the terms “computer program medium” and “computer usable medium” are used to generally refer to media such as, for example, memory 706, storage unit 716, media 712, and channel 722. These and other various forms of computer program media or computer usable media may be involved in carrying one or more sequences of one or more instructions to a processing device for execution. Such instructions embodied on the medium, are generally referred to as “computer program code” or a “computer program product” (which may be grouped in the form of computer programs or other groupings). When executed, such instructions might enable the computing module 700 to perform features or functions of the disclosed technology as discussed herein.

While various embodiments of the disclosed technology have been described above, it should be understood that they have been presented by way of example only, and not of limitation. Likewise, the various diagrams may depict an example architectural or other configuration for the disclosed technology, which is done to aid in understanding the features and functionality that can be included in the disclosed technology. The disclosed technology is not restricted to the illustrated example architectures or configurations, but the desired features can be implemented using a variety of alternative architectures and configurations. Indeed, it will be apparent to one of skill in the art how alternative functional, logical or physical partitioning and configurations can be implemented to implement the desired features of the technology disclosed herein. Also, a multitude of different constituent module names other than those depicted herein can be applied to the various partitions. Additionally, with regard to flow diagrams, operational descriptions and method claims, the order in which the steps are presented herein shall not mandate that various embodiments be implemented to perform the recited functionality in the same order unless the context dictates otherwise.

Although the disclosed technology is described above in terms of various exemplary embodiments and implementations, it should be understood that the various features, aspects and functionality described in one or more of the individual embodiments are not limited in their applicability to the particular embodiment with which they are described, but instead can be applied, alone or in various combinations, to one or more of the other embodiments of the disclosed technology, whether or not such embodiments are described and whether or not such features are presented as being a part of a described embodiment. Thus, the breadth and scope of the technology disclosed herein should not be limited by any of the above-described exemplary embodiments.

Terms and phrases used in this document, and variations thereof, unless otherwise expressly stated, should be construed as open ended as opposed to limiting. As examples of the foregoing: the term “including” should be read as meaning “including, without limitation” or the like; the term “example” is used to provide exemplary instances of the item in discussion, not an exhaustive or limiting list thereof; the terms “a” or “an” should be read as meaning “at least one,” “one or more” or the like; and adjectives such as “conventional,” “traditional,” “normal,” “standard,” “known” and terms of similar meaning should not be construed as limiting the item described to a given time period or to an item available as of a given time, but instead should be read to encompass conventional, traditional, normal, or standard technologies that may be available or known now or at any time in the future. Likewise, where this document refers to technologies that would be apparent or known to one of ordinary skill in the art, such technologies encompass those apparent or known to the skilled artisan now or at any time in the future.

The presence of broadening words and phrases such as “one or more,” “at least,” “but not limited to” or other like phrases in some instances shall not be read to mean that the narrower case is intended or required in instances where such broadening phrases may be absent. The use of the term “module” does not imply that the components or functionality described or claimed as part of the module are all configured in a common package. Indeed, any or all of the various components of a module, whether control logic or other components, can be combined in a single package or separately maintained and can further be distributed in multiple groupings or packages or across multiple locations.

Additionally, the various embodiments set forth herein are described in terms of exemplary block diagrams, flow charts and other illustrations. As will become apparent to one of ordinary skill in the art after reading this document, the illustrated embodiments and their various alternatives can be implemented without confinement to the illustrated examples. For example, block diagrams and their accompanying description should not be construed as mandating a particular architecture or configuration. 

We claim:
 1. A method to facilitate communication between a smart card and a terminal comprising a physical processor, the method performed by the physical processor of the terminal, the method comprising: waiting, by the physical processor, for a first answer-to-reset (ATR) message from the smart card after a smart card reset; receiving, by the physical processor, the first ATR message from the smart card at a first time within a first predetermined period of time following the smart card reset; waiting, by the physical processor, for a second ATR message indicative of a successful biometric authentication from the smart card; receiving, by the physical processor, the second ATR message indicative of the successful biometric authentication from the smart card at a second time within a second predetermined period of time following the first time; and exchanging, by the physical processor, transaction-related messages with the smart card.
 2. The method of claim 1, wherein the first ATR message comprises data items indicative of at least one of protocol format, type of smart card, or baud rate.
 3. The method of claim 1, further comprising disconnecting a communication link between the terminal and the smart card if the first ATR message is not received within the first predetermined period of time.
 4. The method of claim 1, further comprising disconnecting a communication link between the terminal and the smart card if the second ATR message is not received within the second predetermined period of time.
 5. The method of claim 1, wherein the exchanging step is performed within a third predetermined period of time following the second time.
 6. The method of claim 1, further comprising sending a signal indicative of the smart card reset to the smart card.
 7. A method of facilitating communication between a smart card, and a terminal, the smart card comprising a biometric sensor and one or more processors, the method performed by the one or more processors of the smart card, the method comprising: sending, by the one or more processors, a first answer-to-reset (ATR) message to the terminal at a first time within a first predetermined period of time following a smart card reset; performing, by the one or more processors, a biometric authentication of a user requesting a transaction, the biometric authentication being performed by comparing a stored biometric reference template to a biometric template generated from a biometric sample of the user obtained by the biometric sensor; identifying, by the one or more processors, a successful biometric authentication when there is a match between the stored biometric reference template and the biometric template; sending, by the one or more processors, a second ATR message indicative of the successful biometric authentication to the terminal a second time that is within a second predetermined period of time following the first time; and exchanging, by the one or more processors, transaction-related messages with the terminal.
 8. The method of claim 7, wherein the first ATR message comprises one or more data items indicative of at least one of protocol format, type of smart card, or baud rate.
 9. The method of claim 7, wherein the second ATR message comprises one or more data items indicating that the biometric authentication was successful.
 10. The method of claim 7, further comprising the smart card generating a signal indicative of the smart card reset.
 11. A terminal for communicating with a smart card, the terminal comprising: a physical processor configured to: wait for a first answer-to-reset (ATR) message from the smart card after a smart card reset, receive, from the smart card, the first ATR message at a first time that is within a first predetermined period of time following the smart card reset, wait for a second ATR message indicative of a successful biometric authentication from the smart card; receive, from the smart card, the second ATR message indicative of the successful biometric authentication at a second time that is within a second predetermined period of time following the first time, and exchange transaction-related messages with the smart card.
 12. The terminal of claim 11, wherein the terminal is compliant with an ISO standard.
 13. The terminal of claim 11, wherein the first ATR message comprises data items indicative of at least one of protocol format, type of smart card, or baud rate.
 14. The terminal of claim 11, wherein the terminal provides power to the smart card.
 15. The terminal of claim 14, wherein the processor is further configured to disable the power to the smart card if the first ATR message is not received within the first predetermined period of time.
 16. The terminal of claim 15, wherein the processor is further configured to disable the power to the smart card if the second ATR message is not received within the second predetermined period of time.
 17. The terminal of claim 13, further comprising an interface configured to be coupled to the smart card, the interface including at least one input and output contact pad for exchanging messages with the smart card.
 18. A smart card comprising: a biometric sensor configured to obtain a first biometric sample of an authorized user, and one or more processors coupled to the interface and the biometric module and configured to: send a first answer-to-reset (ATR) message to a terminal at a first time that is within a first predetermined period of time following a smart card reset, perform a biometric authentication of a user requesting a transaction involving the smart card by comparing the stored biometric reference template to a biometric template generated based on a second biometric sample of the user requesting the transaction obtained by the biometric sensor, responsive to there being a match between the stored biometric reference template and the biometric template, determine that the biometric authentication was successful, send a second ATR message indicative of a successful biometric authentication to the terminal at a second time that is within a second predetermined period of time following the first time, exchange transaction-related messages with the terminal.
 19. The smart card of claim 18, wherein the smart card is compliant with an ISO standard.
 20. The smart card of claim 18, wherein the first biometric sample and the second biometric sample are fingerprint images. 